﻿Imports BusinessRule.DTO

Public Interface uMESDispatchIBusiness
#Region "修改报工零件编号信息"
    Function UpdateReportProductNoList(ByVal strReportID As String, ByVal dtChildContainer As DataTable) As uMESProcessResult
#End Region
#Region "获取转工序处理的零件编号"
    Function GetCCProductNo(ByVal strContainerID As String, ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取产品合格证列表"
    Function GetQualificationList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取工段派工跟踪卡列表"
    Function GetWorkCenterDispatchContainerList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取需要外协的批次列表"
    Function GeSynergicSpecValiateContainerList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取工序派工信息"
    Function GetSpecDispatchInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取Workflow的工序列表"
    Function GetSpecListByWorkflowID(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取工段的生产单元列表"
    Function GetTeamListByWorkCenter(ByVal strWorkCenterName As String) As uMESProcessResult
#End Region
#Region "根据设备获取人员列表"
    Function GetEmployeeListByResourceName(ByVal strResourceName As String, ByVal strWorkCenterName As String, ByVal strTeamName As String) As uMESProcessResult
#End Region
#Region "获取车间的工段列表"
    Function GetWorkCenterListByFactory(ByVal strFactoryName As String) As uMESProcessResult
#End Region
#Region "获取批次的质量记载五单信息"
    Function GetFiveBillsInfoByContainer(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取工段的工人列表"
    Function GetEmployeeListByWorkCenter(ByVal strWorkCenterName As String) As uMESProcessResult
#End Region
#Region "获取车间的互检人列表"
    Function GetMutualCheckEmployeeList(ByVal strFactoryName As String, ByVal strKey As String) As uMESProcessResult
#End Region
#Region "获取工段的设备列表"
    Function GetResourceListByWorkCenter(ByVal strWorkCenterName As String, ByVal strFactoryName As String) As uMESProcessResult
    Function GetResourceListByWorkCenter(ByVal strWorkCenterName As String, ByVal strFactoryName As String, ByVal strEmp As String) As uMESProcessResult
#End Region
#Region "获取生产单元的工人列表"
    Function GetEmployeeListByTeam(ByVal strTeamName As String) As uMESProcessResult
#End Region
#Region "获取生产单元的设备列表"
    Function GetResourceListByTeam(ByVal strTeamName As String, ByVal strFactoryName As String) As uMESProcessResult
#End Region
#Region "获取工段派到小组的派工信息"
    Function GetWorkCenterDispatchingList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取生产问题列表"
    Function GetMfgProblemList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取工段长派到小组的派工信息"
    Function GetToTeamList(ByVal strContainerID As String, ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取派到设备的派工信息"
    Function GetToResourceList(ByVal strContainerID As String, ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取报工信息"
    Function GetWorkingReportList(ByVal strContainerID As String, ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取报工信息"
    Function GetWorkingReportListByWCDName(ByVal strWCDName As String) As uMESProcessResult
#End Region
#Region "获取报工信息"
    Function GetWorkingReportListByContainerName(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取小组派到设备的派工信息"
    Function GetTeamDispatchingList(ByVal strWCDID As String) As uMESProcessResult
#End Region
#Region "根据物料名称获取合格证号列表"
    Function GetQualificationListByMaterialName(ByVal strMaterialName As String) As uMESProcessResult
#End Region
#Region "根据批次ID列表获取工序派工信息"
    Function GetSpecDispatchByContainerList(ByVal dtContainerList As DataTable) As uMESProcessResult
#End Region
#Region "根据派工单ID列表获取已报工的零件编号"
    Function GetReportedProductNoByWCDList(ByVal dtWCDList As DataTable) As uMESProcessResult
#End Region
#Region "获取工段派工信息For改派"
    Function GetWorkCenterDispatchingForChange(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取小组派工信息For改派"
    Function GetTeamDispatchingForChange(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "创建派工单"
    Function CreateDispatching(ByVal para As DispatchingPara, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
#End Region
#Region "修改派工单"
    Function UpdateDispatching(ByVal para As DispatchingPara, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
    Function UpdateDispatching(ByVal para As DispatchingPara) As uMESProcessResult
#End Region
#Region "修改生产订单"
    Function UpdateMfgOrder(ByVal para As MfgOrderInfo, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
#End Region
#Region "工艺确认生产订单"
    Function TechConfirmMfgOrder(ByVal para As MfgOrderInfo, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
#End Region
#Region "创建生产订单"
    Function CreateMfgOrder(ByVal para As MfgOrderInfo, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
#End Region
#Region "修改生产任务"
    Function UpdateInventTaskInfo(ByVal para As InventTaskInfo, ByVal serverInfo As ServerHostInfo) As uMESProcessResult
#End Region
#Region "创建批次"
    Function StartContainer(ByVal para As ContainerStartInfo) As uMESProcessResult
#End Region
#Region "Split"
    Function SplitContainer(ByVal para As ContainerSplitInfo) As uMESProcessResult
#End Region
#Region "添加或更新批次零件编号信息"
    Function AddAndUpdateContainerProductNo(ByVal p_UpdateName As String, ByVal p_perform As String, ByVal p_dataEntityList As List(Of ClientAPIEntity), _
                                      ByVal p_dataProductList As Dictionary(Of String, List(Of ClientAPIEntity))) As uMESProcessResult
#End Region
#Region "获取派到设备/工人的派工信息"
    Function GetToEmployeeDispatchingList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取跟踪卡的零件编号"
    Function GetProductNoForMark(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取派工单的零件编号"
    Function GetProductNoByDispatch(ByVal strDispachName As String) As uMESProcessResult
#End Region
#Region "获取报工单的零件编号"
    Function GetProductNoByReport(ByVal strReportID As String) As uMESProcessResult
#End Region
#Region "获取跟踪卡基本信息"
    Function GetContainerInfo(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取跟踪卡基本信息"
    Function GetContainerInfoByID(ByVal strContainerID As String) As uMESProcessResult
#End Region
#Region "获取跟踪卡未开合格证的产品序号"
    Function GetProductNoByContainerName(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取已经通过 工段长接收 节点的批次"
    Function GetContainerHasMaterial(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取跟踪卡对应的生产订单工艺确认信息"
    Function GetContainerTechConfirmInfo(ByVal strContainerID As String) As uMESProcessResult
#End Region
#Region "获取工序信息"
    Function GetSpecInfo(ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取指定批次指定工序上的已派工零件编号"
    Function GetProductNoByContainerAndSpec(ByVal strContainerName As String, ByVal strSpecID As String) As uMESProcessResult
#End Region
#Region "获取派到生产单元的派工单已派工零件编号"
    Function GetProductNoByWorkCenterDispatch(ByVal strWCDName As String) As uMESProcessResult
#End Region
#Region "获取派工单已报工的零件编号"
    Function GetReportedProductNoByDispatch(ByVal strWCDName As String) As uMESProcessResult
#End Region
#Region "获取到小组的派工单对应的子派工单"
    Function GetDispatchingByParent(ByVal strParentName As String) As uMESProcessResult
#End Region
#Region "获取生产订单列表"
    Function GetMfgOrderList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult

    Function GetMfgOrderListForERP(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取ERP生产任务列表"
    Function GetInventTaskList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取质量记载单列表"
    Function GetQualityRecordList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region
#Region "获取质量记载单的零件编号列表"
    Function GetProductNoListByQualityRecord(ByVal strName As String) As uMESProcessResult
#End Region
#Region "获取批次当前工序以后的工序列表"
    Function GetLeftSpecListByContainer(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "获取与给定批次号的TogetherFlag相同的批次列表"
    Function GetContainerForTogetherFlag(ByVal strContainerName As String) As uMESProcessResult
#End Region
#Region "工时相关"
    Function GetWorkingReportList(ByVal para As Dictionary(Of String, Object)) As uMESProcessResult
    Function SaveWorkingReportSubmmitDate(ByVal dtworking As DataTable) As uMESProcessResult
    Function GetStepInfo(ByVal para As Dictionary(Of String, Object)) As uMESProcessResult
    Function UpdateStepWorkTime(ByVal dtstep As DataTable) As uMESProcessResult
#End Region

#Region "获取派到设备/工人的派工信息"
    Function GetToEmployeeDispatchingListByNew(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region

#Region "批量派工获取工序列表信息"
    ''' <summary>
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetMultiSpecDispatchInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region

#Region "登记批次属性"
    Function SaveDenamicAttribute(ByVal paraList As List(Of ContainerStartInfo)) As uMESProcessResult
#End Region

#Region "检查报工单的报工情况"
    Function GetWorkCenterReportInfo(ByVal workCenterDispatchingName As String) As DataTable
#End Region

    Function GetContainer() As DataTable
    Function GetContainer(ByVal strContainerName As String) As uMESProcessResult

    Function ManageSys(ByVal serverInfo As ServerHostInfo) As String

    Function MeangeTec(ByVal serverInfo As ServerHostInfo, ByVal strTecName As String) As String

    Function ProductFamilyMove() As String

    Sub SysContainerName()

    '得到派工批次的工序信息
    Function GetMultiSpecDispatchAllInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult

    Sub SysMContainer(ByVal serverInfo As ServerHostInfo)

#Region "更新派工单"
    Function UpdateWorkCenterDispatching(ByVal oExamle As DispatchingPara) As uMESProcessResult
#End Region

#Region "根据派工单ID删除派工单"
    Function DeleteWorkCenterDispatching(ByVal dtWCDList As DataTable) As uMESProcessResult
#End Region

#Region "批量更新派工单"
    Function MultiUpdateWorkCenterDispatching(ByVal paraList As List(Of DispatchingPara)) As uMESProcessResult 
#End Region

#Region "查询工艺路线"
    Function GetWorkFlowByDispatching(ByVal paraContainerName As String) As uMESProcessResult
#End Region

#Region "工时登记表"
    Function InsertLYworkingTimeInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
#End Region


#Region "获取工人报工工时"
    Function GetWorkingReportListNew(ByVal para As Dictionary(Of String, Object)) As uMESProcessResult
#End Region

#Region "提交工时"
    Sub SubmmiWorkTime(ByVal dtworking As DataTable)
    Sub ChageWorkTime(ByVal dtworking As DataTable)
#End Region

#Region "查找工时信息"
    Function GetWorkingTime(ByVal para As Dictionary(Of String, Object)) As uMESProcessResult
#End Region
#Region "报工检验操作者补全"
    Sub UpdateReporterForWorkingReportAndCheck()
#End Region

#Region "查找报工记录"
    Function GetSysReport(ByVal strDateTmp As String) As DataTable
#End Region

    Function GetSpecDurationperunit(ByVal specName As String, ByVal strContianerName As String) As uMESProcessResult

    Sub InsertLYworkingTimeInfoTemp(ByVal employeeName As String, ByVal containerName As String, ByVal specName As String,
                                            ByVal qty As Integer, ByVal dispSpecName As String, ByVal intUnitTime As Integer,
                                            ByVal intState As Integer, ByVal stepID As String, ByVal reportDate As Date, ByVal submitDate As String, ByVal allWorkTime As Integer)

    Sub ChageWorkTimeHS(ByVal dtworking As DataTable)

    Function GetSpecUnitTime(ByVal stepID As String) As uMESProcessResult

    Function GetStepDurationperunit(ByVal stepID As String, ByVal strContianerName As String) As uMESProcessResult

    '获取批次需生产准备的工序
    Function GetMultiSpecDispatchPrepareInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    '更新派工记录准备状态
    Sub UpdateSpecDispatchPrepared(ByVal para As Dictionary(Of String, String))
    '更新工时记录报工人ID
    Sub UpdateLYWORKINGTIMEINFOEmployeeID()
End Interface
